-- Playing around with let-bound polymorphism, as encountered by David.

poly2 = ((f "a"), (f 1))
        where f x = x

poly4 f = let f' x = f x
          in ((f' "a"), (f' 1))

poly3 f = ((f' "a"), (f' 1))
          where f' x = f x

poly f = ((f "a"), (f 1))

